import { debounce } from "./utils"
import BackTop from "components/content/backtop/BackTop.vue";
import { POP, NEW, SELL } from "./const";


//导出--混入：抽离出组件中公共东西，然后继承使用
export const itemListenerMixin = {
    data() {
        return {
            itemImgListener: null,
            refresh:null
        }
    },
    mounted() {
        //这个地方的img标签确实被挂载，但是其中的图片还没有占据高度
        //this.$refs.scroll.refresh对这个函数进行防抖操作
        this.refresh = debounce(this.$refs.scroll.refresh, 500)

        //1.对监听刷新事件进行保存
        this.itemImgListener = () => {
            this.refresh()
        }
        //事件总线
        this.$bus.$on('itemImageLoad', this.itemImgListener)
    },
}

//返回顶部的混入
export const backTopMixin = {
    components: {
        BackTop
    },
data() {
    return {
        isShowBackTop:false
    }
    },
    methods: {
        //返回进步的函数
        backClick() {
            //拿到Scroll组件本身调用内部scrollTo方法
            this.$refs.scroll.scrollTo(0, 0);
          },
    },
}

//分类的混入
export const tabControlMixin = {
	data: function () {
		return {
			currentType: POP
		}
	},
	methods: {
		tabClick(index) {
			switch (index) {
				case 0:
					this.currentType = POP
					break
				case 1:
					this.currentType = NEW
					break
				case 2:
					this.currentType = SELL
					break
			}
			console.log(111);
		}
	}
}